/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "empresa")
//@NamedQueries({
//    @NamedQuery(name = "Empresa.findAll", query = "SELECT e FROM Empresa e"),
//    @NamedQuery(name = "Empresa.findByNumerocliente", query = "SELECT e FROM Empresa e WHERE e.numerocliente = :numerocliente"),
//    @NamedQuery(name = "Empresa.findByRuc", query = "SELECT e FROM Empresa e WHERE e.ruc = :ruc"),
//    @NamedQuery(name = "Empresa.findByNombreempresa", query = "SELECT e FROM Empresa e WHERE e.nombreempresa = :nombreempresa"),
//    @NamedQuery(name = "Empresa.findByRepresentante", query = "SELECT e FROM Empresa e WHERE e.representante = :representante"),
//    @NamedQuery(name = "Empresa.findByClienteFk", query = "SELECT e FROM Empresa e WHERE e.clienteFk = :clienteFk")})
@PrimaryKeyJoinColumn(name="numerocliente")
public class Empresa extends Cliente implements Serializable {
    private static final long serialVersionUID = 1L;
//    @Id
//    @Basic(optional = false)
//    @NotNull
//    @Size(min = 1, max = 2147483647)
//    @Column(name = "numerocliente")
//    private String numerocliente;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "ruc")
    private String ruc;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "nombreempresa")
    private String nombreempresa;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "representante")
    private String representante;
//    @Basic(optional = false)
//    @NotNull
//    @Size(min = 1, max = 2147483647)
//    @Column(name = "cliente_fk")
//    private String clienteFk;
//    @JoinColumn(name = "numerocliente", referencedColumnName = "numerocliente", insertable = false, updatable = false)
//    @OneToOne(optional = false)
//    private Cliente cliente;

    public Empresa() {
    }

    public Empresa(String numerocliente) {
//        this.numerocliente = numerocliente;
    }

//    public Empresa(String numerocliente, String ruc, String nombreempresa, String representante, String clienteFk) {
//        this.numerocliente = numerocliente;
//        this.ruc = ruc;
//        this.nombreempresa = nombreempresa;
//        this.representante = representante;
//        this.clienteFk = clienteFk;
//    }

    public Empresa(String ruc, String nombreempresa, String representante, String clienteFk) {
//        this.numerocliente = numerocliente;
        this.ruc = ruc;
        this.nombreempresa = nombreempresa;
        this.representante = representante;
//        this.clienteFk = clienteFk;
    }
    
//    public String getNumerocliente() {
//        return numerocliente;
//    }
//
//    public void setNumerocliente(String numerocliente) {
//        this.numerocliente = numerocliente;
//    }

    public String getRuc() {
        return ruc;
    }

    public void setRuc(String ruc) {
        this.ruc = ruc;
    }

    public String getNombreempresa() {
        return nombreempresa;
    }

    public void setNombreempresa(String nombreempresa) {
        this.nombreempresa = nombreempresa;
    }

    public String getRepresentante() {
        return representante;
    }

    public void setRepresentante(String representante) {
        this.representante = representante;
    }

//    public String getClienteFk() {
//        return clienteFk;
//    }
//
//    public void setClienteFk(String clienteFk) {
//        this.clienteFk = clienteFk;
//    }
//
//    public Cliente getCliente() {
//        return cliente;
//    }
//
//    public void setCliente(Cliente cliente) {
//        this.cliente = cliente;
//    }

//    @Override
//    public int hashCode() {
//        int hash = 0;
//        hash += (numerocliente != null ? numerocliente.hashCode() : 0);
//        return hash;
//    }
//
//    @Override
//    public boolean equals(Object object) {
//        // TODO: Warning - this method won't work in the case the id fields are not set
//        if (!(object instanceof Empresa)) {
//            return false;
//        }
//        Empresa other = (Empresa) object;
//        if ((this.numerocliente == null && other.numerocliente != null) || (this.numerocliente != null && !this.numerocliente.equals(other.numerocliente))) {
//            return false;
//        }
//        return true;
//    }
//
//    @Override
//    public String toString() {
//        return "mrp.persistencia.entity.Empresa[ numerocliente=" + numerocliente + " ]";
//    }
    
}
